#!/bin/sh
#
# %CopyrightBegin%
#
# SPDX-License-Identifier: Apache-2.0
#
# Copyright Ericsson AB 1996-2025. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# %CopyrightEnd%
#
# This program invokes the erlang emulator by calling run_erl.
# It should only be used at an embedded target system.
# It should be modified to give the correct flags to erl (via start_erl),
# e.g -mode embedded -sname XXX
#
# Usage: start [Data]
#
prog="$0"
progdir="`dirname ${prog}`"
dyn_erl_path="${progdir}/../erts-%VSN%/bin/dyn_erl"
if [ ! -f "$dyn_erl_path" ]
then
    dyn_erl_path="${progdir}/dyn_erl"
fi

if [ -f "$dyn_erl_path" ]
then
    dyn_rootdir=`${dyn_erl_path} --realpath`
    dyn_rootdir=`dirname ${dyn_rootdir}`
    dyn_rootdir=`dirname ${dyn_rootdir}`
else
    dyn_rootdir=""
fi

if touch /var/log 2>/dev/null;
then
	LOGDIR="/var/log"
else
	if [ -z "$XDG_STATE_HOME" ];
	then
		LOGDIR="$HOME/.local/state/erlang"
	else
		LOGDIR="$XDG_STATE_HOME/erlang"
	fi
	mkdir -p $LOGDIR
fi

if [ -z "$ERL_ROOTDIR" ]
then
    ROOTDIR="%FINAL_ROOTDIR%"
    if [ "$dyn_rootdir" != "$ROOTDIR" ] && [ "$dyn_rootdir" != "" ]
    then
        # It is likely that the files have been copied or moved
        ROOTDIR="$dyn_rootdir"
    fi
else
    ROOTDIR="$ERL_ROOTDIR"
fi

if [ -z "$RELDIR" ]
then
   RELDIR=$ROOTDIR/releases
fi

START_ERL_DATA=${1:-$RELDIR/start_erl.data}

$ROOTDIR/bin/run_erl -daemon /tmp/ $LOGDIR "exec $ROOTDIR/bin/start_erl $ROOTDIR $RELDIR $START_ERL_DATA"
